package cn.iocoder.yudao.module.bill.dal.mysql.tag;

import java.util.*;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.bill.dal.dataobject.tag.BillTagDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.bill.controller.admin.tag.vo.*;

/**
 * 账单标签 Mapper
 *
 * @author mmciel
 */
@Mapper
public interface BillTagMapper extends BaseMapperX<BillTagDO> {

    default PageResult<BillTagDO> selectPage(BillTagPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<BillTagDO>()
                .likeIfPresent(BillTagDO::getTag, reqVO.getTag())
                .likeIfPresent(BillTagDO::getRemark, reqVO.getRemark())
                .eqIfPresent(BillTagDO::getOrderNum, reqVO.getOrderNum())
                .betweenIfPresent(BillTagDO::getCreateTime, reqVO.getCreateTime())
                .orderByAsc(BillTagDO::getOrderNum)
                .orderByAsc(BillTagDO::getCreateTime));
    }

}